Most of UniTerm is written in CCD/OSS Pascal and uses standard GEM, GEMDos, Bios and XBios calls. The exceptions are:
Timing information for the main loop of UniTerm:
MMMMMMMMMMMMM 0.14 mS RS232 state, keyboard and mouse state (0.07 with new TOS)
If characters can be read from the serial port:
0.18 mS Cursor on/off (disabling the cursor saves this)
Innerloop (max. 20 iterations):
0.1 mS Character read
0.3 mS Character output
(VT100 mode 80 columns, no attributes set)
Turning history recording on will naturally make the loop slower, scrolling speed is 42 lines per second.
The carrier detect signal and the break bit on the Mfp are polled once per main loop and if they are present a appropriate `LED' is displayed.
UniTerm needs one VBL interrupt slot and also installs its own mouse-movement interrupt handler in GIN mode, additionly VDI mouse-movement, mouse-button handlers and a trap 10 handler are installed. The mouse-button handler may cause problems with programs that use both buttons, since it maps both to the left button (this is a workaround AES's inability to wait for a left or right mouse-button event).
Please note, that unlike other available products UniTerm does NOT use any undocumented locations or functions of the operating system.